home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 001-010 / amok02 / m2code / m2codedemo / drawlines.asm < prev    next >
Encoding:
Assembly Source File  |  1993-11-04  |  1.9 KB  |  56 lines

  1. ;--------------------------------------------------------------------
  2. ;                          DrawLines:                               !
  3. ;--------------------------------------------------------------------
  4. ;                                                                   !
  5. ; Übergeben: a6: GraphicsBase                                       !
  6. ;            a2: RastPort                                           !
  7. ;                                                                   !
  8. ;--------------------------------------------------------------------
  9.  
  10. ;----------------  Makros & Konstanten:  ----------------------------
  11.  
  12. _lvoMove = -240
  13. _lvoDraw = -246
  14.  
  15. CallSys: macro $\1
  16.   jsr _lvo\1(a6)
  17.   endm
  18.  
  19. ;--------------------  Programm:  -----------------------------------
  20.  
  21.     moveq   #16,d3          ; Schleife 16 mal durchlaufen
  22. loop2:
  23.     clr     d2              ; d2 enthält x-Koordinate. x:= 0
  24. loop:
  25.     move.l  a2,a1           ; RastPort an Move übergeben (in a1)
  26.     clr     d0
  27.     clr     d1
  28.     CallSys Move            ; Move (0,0)
  29.     move.l  a2,a1           ; RP
  30.     move    d2,d0           ; x-koordinate
  31.     move    #255,d1         ; y=255
  32.     CallSys Draw            ; Draw (x,255)
  33.     move.l  a2,a1
  34.     move    #639,d0
  35.     move    #0,d1
  36.     CallSys Draw            ; Draw (639,0)
  37.     move.l  a2,a1
  38.     clr     d0
  39.     move    #255,d1
  40.     CallSys Move            ; Move (0,255)
  41.     move.l  a2,a1
  42.     move    d2,d0
  43.     clr     d1
  44.     CallSys Draw            ; Draw (x,0)
  45.     move.l  a2,a1
  46.     move    #639,d0
  47.     move    #255,d1
  48.     CallSys Draw            ; Draw (639,255)
  49.     addq    #2,d2           ; x um 2 erhöhen
  50.     cmp     #640,d2         ; bis x rechts am Bildschirm ankommt.
  51.     blo     loop            ; also 320 mal 4 Linien zeichen
  52.     subq    #1,d3           ; Zähler in d3 erniedrigen
  53.     bne     loop2           ; also insgesamt 4x320x16 = 20480
  54.  
  55.     end                     ; das war's schon.
  56.